DavidBurns centralising save_screenshot to remote driver so all drivers, including phantomjs get it. git-svn-id: http://selenium.googlecode.com/svn/trunk/py@18406 07704840-8298-11de-bf8c-fd130f914ac9
diff --git a/selenium/webdriver/chrome/webdriver.py b/selenium/webdriver/chrome/webdriver.py index ed3d728..fdb5b6a 100644 --- a/selenium/webdriver/chrome/webdriver.py +++ b/selenium/webdriver/chrome/webdriver.py
@@ -80,19 +80,3 @@ pass finally: self.service.stop() - - def save_screenshot(self, filename): - """ - Gets the screenshot of the current window. Returns False if there is - any IOError, else returns True. Use full paths in your filename. - """ - png = RemoteWebDriver.execute(self, Command.SCREENSHOT)['value'] - try: - f = open(filename, 'wb') - f.write(base64.decodestring(png)) - f.close() - except IOError: - return False - finally: - del png - return True
diff --git a/selenium/webdriver/firefox/webdriver.py b/selenium/webdriver/firefox/webdriver.py index 624fd17..0dbe5db 100644 --- a/selenium/webdriver/firefox/webdriver.py +++ b/selenium/webdriver/firefox/webdriver.py
@@ -82,19 +82,3 @@ @property def firefox_profile(self): return self.profile - - def save_screenshot(self, filename): - """ - Gets the screenshot of the current window. Returns False if there is - any IOError, else returns True. Use full paths in your filename. - """ - png = RemoteWebDriver.execute(self, Command.SCREENSHOT)['value'] - try: - f = open(filename, 'wb') - f.write(base64.decodestring(png)) - f.close() - except IOError: - return False - finally: - del png - return True
diff --git a/selenium/webdriver/ie/webdriver.py b/selenium/webdriver/ie/webdriver.py index 1f110bd..f5ffaff 100644 --- a/selenium/webdriver/ie/webdriver.py +++ b/selenium/webdriver/ie/webdriver.py
@@ -54,19 +54,3 @@ def quit(self): RemoteWebDriver.quit(self) self.iedriver.stop() - - def save_screenshot(self, filename): - """ - Gets the screenshot of the current window. Returns False if there is - any IOError, else returns True. Use full paths in your filename. - """ - png = RemoteWebDriver.execute(self, Command.SCREENSHOT)['value'] - try: - f = open(filename, 'wb') - f.write(base64.decodestring(png)) - f.close() - except IOError: - return False - finally: - del png - return True
diff --git a/selenium/webdriver/opera/webdriver.py b/selenium/webdriver/opera/webdriver.py index 0360b24..af4883c 100644 --- a/selenium/webdriver/opera/webdriver.py +++ b/selenium/webdriver/opera/webdriver.py
@@ -66,20 +66,3 @@ pass finally: self.service.stop() - - def save_screenshot(self, filename): - """ - Gets the screenshot of the current window. Returns False if there is - any IOError, else returns True. Use full paths in your filename. - """ - png = RemoteWebDriver.execute(self, Command.SCREENSHOT)['value'] - try: - f = open(filename, 'wb') - f.write(base64.decodestring(png)) - f.close() - except IOError: - return False - finally: - del png - return True -
diff --git a/selenium/webdriver/remote/webdriver.py b/selenium/webdriver/remote/webdriver.py index 675ce7f..64faebf 100644 --- a/selenium/webdriver/remote/webdriver.py +++ b/selenium/webdriver/remote/webdriver.py
@@ -803,3 +803,19 @@ def application_cache(self): """ Returns a ApplicationCache Object to interact with the browser app cache""" return ApplicationCache(self) + + def save_screenshot(self, filename): + """ + Gets the screenshot of the current window. Returns False if there is + any IOError, else returns True. Use full paths in your filename. + """ + png = self.execute(Command.SCREENSHOT)['value'] + try: + f = open(filename, 'wb') + f.write(base64.decodestring(png)) + f.close() + except IOError: + return False + finally: + del png + return True